#!/bin/sh

case "$1" in
  start|restart)
    . /opt/nhrp/etc/settings
    if [ "$1" = "restart" ]; then
      $0 stop
    fi
    echo -n "Starting module nhrp: "
    if [ "$MOD_NHRP_ENABLED" != "1" ]; then
      echo "skipped"
      exit 0
    fi
    #vytvor docasny adresar pokud neexistuje
    if [ ! -d "/var/nhrp" ]; then
      mkdir -p /var/nhrp
    fi
    decode "$MOD_NHRP_CONF" > /var/nhrp/opennhrp.conf
    decode "$MOD_NHRP_SCRIPT" > /var/nhrp/opennhrp-script
    echo "" >> /var/nhrp/opennhrp.conf
    echo "" >> /var/nhrp/opennhrp-script
    chmod +x /var/nhrp/opennhrp-script
    /opt/nhrp/bin/opennhrp -d -v "$MOD_NHRP_DEBUG" -c /var/nhrp/opennhrp.conf -s /var/nhrp/opennhrp-script 2>/dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then echo "done"; else echo "failed"; fi
    exit $RETVAL
    ;;
  stop)
    echo -n "Stopping module nhrp: "
    killall opennhrp 2> /dev/null
    IDX=0
    while [ -f /var/run/opennhrp.pid ]; do
      sleep 1
      IDX=$((IDX+1))
      if [ "$IDX" = "10" ]; then
        killall -9 opennhrp 2> /dev/null
        rm -f /var/run/opennhrp.pid
        /usr/bin/logger -t "opennhrp" -p daemon.notice "Terminating failed"
        echo "failed"
        exit 1
      fi
    done
    /usr/bin/logger -t "opennhrp" -p daemon.notice "Terminated"
    echo "done"
    exit 0
    ;;
  status)
    echo -n "Module nhrp is "
    killall -0 opennhrp 2> /dev/null
    RETVAL=$?
    if [ $RETVAL = 0 ]; then
        echo "running"
        echo ""
       /opt/nhrp/bin/opennhrpctl show
       /opt/nhrp/bin/opennhrpctl route show
    else
       echo "stopped"
    fi
    exit $RETVAL
    ;;
  defaults)
    cp /opt/nhrp/etc/defaults /opt/nhrp/etc/settings 2> /dev/null
    ;;
  *)
   echo "Usage: $0 {start|stop|restart|status|defaults}"
   exit 1
esac
